#ifndef _CL_SCENE_H_
#define _CL_SCENE_H_

#include "config.h"
#include "primitive.h"
#include "light.h"

typedef struct  
{
GLOBAL const float* light_data;
GLOBAL const float* material_data;
GLOBAL const float* shape_data;
GLOBAL const float* texture_data;
GLOBAL const float* integrator_data;
GLOBAL const float* accelerator_data;

GLOBAL const primitive_info_t* primitives;
GLOBAL const light_info_t* lghts; 

unsigned int primitive_count;
unsigned int lght_count;
}cl_scene_info_t;

int intersectP(cl_scene_info_t scene,ray_t *r);

INLINE void scene_tranmittance(cl_scene_info_t scene_info,ray_t* r,spectrum_t* c)
{
	vinit(*c,1.f,1.f,1.f);
}
#endif